MongoDB Aggregation $project

केवल निर्दिष्ट फ़ील्ड चुनना

Aggregation $project

यह एकीकरण चरण केवल निर्दिष्ट फ़ील्ड को अगले एकीकरण चरण में भेजता है।

यह find() विधि के साथ उपयोग किए जाने वाले projection के समान है।

उदाहरण

इस उदाहरण में, हम "sample_restaurants" डेटाबेस का उपयोग करते हैं, जो एकीकरण परिचय अनुभाग से हमारे नमूना डेटा से लोड किया गया है।

db.restaurants.aggregate([
  {
    $project: {
      "name": 1,
      "cuisine": 1,
      "address": 1
    }
  },
  {
    $limit: 5
  }
])

यह दस्तावेजों को वापस प्राप्त करेगा, लेकिन केवल निर्दिष्ट फ़ील्ड शामिल करेगा।

_id फ़ील्ड भी शामिल किया गया है, ध्यान दें। यह फ़ील्ड तब तक हमेशा शामिल किया जाता है जब तक इसे स्पष्ट रूप से बाहर नहीं किया जाता।

एक फ़ील्ड को शामिल करने के लिए हम 1 का उपयोग करते हैं और एक फ़ील्ड को बाहर करने के लिए 0 का उपयोग करते हैं।

⚠️ नोट:

आप एक ही ऑब्जेक्ट में 0 और 1 दोनों का उपयोग नहीं कर सकते। _id फ़ील्ड ही अपवाद है। आपको उन फ़ील्ड को निर्दिष्ट करना होगा जिन्हें आप शामिल करना चाहते हैं या बाहर करना चाहते हैं।

अभ्यास

MongoDB एकीकरण में $project चरण किसके लिए उपयोग किया जाता है?

दस्तावेजों को क्रमबद्ध करना
✗ गलत! $project चरण दस्तावेजों को क्रमबद्ध करने के लिए उपयोग नहीं किया जाता
दस्तावेजों की संख्या को सीमित करना
✗ गलत! $project चरण दस्तावेजों की संख्या को सीमित करने के लिए उपयोग नहीं किया जाता
केवल निर्दिष्ट फ़ील्ड चुनना
✓ सही! $project चरण केवल निर्दिष्ट फ़ील्ड को अगले एकीकरण चरण में भेजने के लिए उपयोग किया जाता है
दस्तावेजों को समूहबद्ध करना
✗ गलत! $project चरण दस्तावेजों को समूहबद्ध करने के लिए उपयोग नहीं किया जाता